$(function () {
    var dictionary_datagrid = $("#dictionary_datagrid");
    var dictionary_dialog = $("#dictionary_dialog");
    var dictionarydetail_datagrid = $("#dictionarydetail_datagrid");
    var dictionarydetail_dialog = $("#dictionarydetail_dialog");

    dictionary_datagrid.datagrid({
        url: "/dictionary/list",
        fit: true,
        columns: [[
            {field: 'x', checkbox: true},
            {field: 'id', title: 'id', width: 100, hidden: true}, //hidden 隐藏显示该列
            {field: 'sn', title: '数据类型编号', width: 100},//允许列改变大小
            {field: 'name', title: '数据类型名称', width: 100},
            {field: 'info', title: '数据类型简介', width: 100}

        ]],
        rownumbers: true,
        striped: true,
        toolbar: "#dictionary_toolbar",
        pagination: true,
        fitColumns: true,
        singleSelect: true,
        onClickRow:function (index, row) {
            if(row.id){
                var dicname=row.name;
                dictionarydetail_datagrid.datagrid({
                    url: "/dictionarydetail/list?id="+row.id,
                    fit: true,
                    columns: [[
                        {field: 'x', checkbox: true},
                        {field: 'id', title: 'id', width: 100, hidden: true}, //hidden 隐藏显示该列
                        {field: 'dictionaryId', title: 'dictionaryId', width: 100, hidden: true}, //hidden 隐藏显示该列
                        {field: 'dictionaryname', title: '数据类型', width: 100,formatter: function(index,row){
                            return dicname;
                        }
                        },//允许列改变大小
                        {field: 'name', title: '明细名称', width: 100},
                        {field: 'info', title: '明细简介', width: 100}

                    ]],
                    rownumbers: true,
                    striped: true,
                    toolbar: "#dictionarydetail_toolbar",
                    pagination: true,
                    fitColumns: true,
                    singleSelect: true

                })
            }


        }

    })
    //弄出一个用于输入数据字典的对话框
    //因为对话框在编辑与添加是公用同一个, 所以页面加载完毕时候提前初始化, 在点击添加与编辑时候,直接显示出来即可
    dictionary_dialog.dialog({
        width: 400,
        height: 400,
        buttons: "#bb",
        closed: "true"
    })
    dictionarydetail_dialog.dialog({
        width: 400,
        height: 400,
        buttons: "#detailform_btn",
        closed: "true"
    })

    var cmdObj = {
        //刷新列表数据
        reload: function () {
            dictionary_datagrid.datagrid("reload");
        },
        //编辑操作
        edit: function () {
            //因为编辑与添加公用一个对话框,所以在操作之前应该将以前的数据清空
            $("#dictionary_form").form("clear");
            //从datagrid中获取选中的那一行数据
            var row = dictionary_datagrid.datagrid("getSelected");

            if (!row) {
                $.messager.alert("温馨提示", "请选择要编辑的行");
            } else {
                //打开编辑对话框
                dictionary_dialog.dialog("setTitle", "编辑字典");
                dictionary_dialog.dialog("open");
                //将选中row数据加载到对话框中的form表单中,用于回显
                //form加载数据原理: 根据同名匹配原则
                //将数据加载到form表单中
                $("#dictionary_form").form("load", row);//数据回显
            }
        },

        //添加操作
        add: function () {
            //因为编辑与添加公用一个对话框,所以在操作之前应该将以前的数据清空
            $("#dictionary_form").form("clear");

            //打开添加对话框
            dictionary_dialog.dialog("setTitle", "添加字典");
            dictionary_dialog.dialog("open");
        },
        //保存字典
        save: function () {
            //获取id
            var id = $("#dictionaryId").val();
            //因为编辑与添加公用对话框中同一个保存按钮,所以需要根据id来判断添加还是编辑操作
            var url = "/dictionary/save";
            if (id) {
                url = "/dictionary/update";
            }
            //提交表单
            $("#dictionary_form").form("submit", {
                //表单提交路径
                url: url,
                //操作成功之后执行该函数, data是返回的数据
                //注意:data是json格式的字符串
                success: function (data) {
                    //1.接受返回数据
                    //2.判断操作是否成功
                    data = $.parseJSON(data);
                    console.log(data);
                    console.log(data.succeed);
                    //3.操作失败,提示用户
                    if (!data.succeed) {
                        $.messager.alert('温馨提示', data.errorMsg);
                    } else {
                        //4.操作成功
                        //4.1提示用户操作成功
                        $.messager.alert('温馨提示', "保存成功");
                        //4.2关闭当前的输入对话框
                        dictionary_dialog.dialog("close");
                        //4.3属性datagrid的数据, 重新刷新页面的数据
                        dictionary_datagrid.datagrid("reload");
                    }
                }

            })
        },
        remove: function () {
            //获取id
            //var url = "/dictionary/delete?id=" + id;
            //提交表单
            var row = dictionary_datagrid.datagrid('getSelected');
            var url = "/dictionary/delete?id=" + row.id;

            $.get(url,function(data){
                if (!data.succeed) {
                    $.messager.alert('温馨提示', data.errorMsg);
                } else {
                    //4.操作成功
                    //4.1提示用户操作成功
                    $.messager.alert('温馨提示', "删除成功");
                    //4.3属性datagrid的数据, 重新刷新页面的数据
                    dictionary_datagrid.datagrid("reload");
                }
            })

        },
        //关闭对话框
        cancel: function () {
            dictionary_dialog.dialog("close");
        },






        //字典明细的操作

        //刷新列表数据
        reloadtail: function () {
            dictionarydetail_datagrid.datagrid("reload");
        },
        //编辑操作
        edittail: function () {
            //因为编辑与添加公用一个对话框,所以在操作之前应该将以前的数据清空
            $("#dictionarydetail_form").form("clear");
            //从datagrid中获取选中的那一行数据
            var row = dictionarydetail_datagrid.datagrid("getSelected");

            if (!row) {
                $.messager.alert("温馨提示", "请选择要编辑的行");
            } else {
                //打开编辑对话框
                dictionarydetail_dialog.dialog("setTitle", "编辑字典明细");
                dictionarydetail_dialog.dialog("open");
                //将选中row数据加载到对话框中的form表单中,用于回显
                //form加载数据原理: 根据同名匹配原则
                //将数据加载到form表单中
                $("#dictionarydetail_form").form("load", row);//数据回显
            }
        },

        //添加操作
        addtail: function () {
            //因为编辑与添加公用一个对话框,所以在操作之前应该将以前的数据清空
            $("#dictionarydetail_form").form("clear");

            //打开添加对话框
            dictionarydetail_dialog.dialog("setTitle", "添加字典明细");
            dictionarydetail_dialog.dialog("open");
            var row = dictionary_datagrid.datagrid('getSelected');
            console.log(row.id);
            //设置下拉框
            if (dictionaryId) {
                $("#dectionaryId").combobox('setValue',row.id);
            }
        },
        //保存字典
        savetail: function () {
            //获取id
            var id = $("#dictionarydetailId").val();
            //因为编辑与添加公用对话框中同一个保存按钮,所以需要根据id来判断添加还是编辑操作
            var url = "/dictionarydetail/save";
            if (id) {
                url = "/dictionarydetail/update";
            }
            //提交表单
            $("#dictionarydetail_form").form("submit", {
                //表单提交路径
                url: url,
                //操作成功之后执行该函数, data是返回的数据
                //注意:data是json格式的字符串
                success: function (data) {
                    //1.接受返回数据
                    //2.判断操作是否成功
                    data = $.parseJSON(data);
                    console.log(data);
                    console.log(data.succeed);
                    //3.操作失败,提示用户
                    if (!data.succeed) {
                        $.messager.alert('温馨提示', data.errorMsg);
                    } else {
                        //4.操作成功
                        //4.1提示用户操作成功
                        $.messager.alert('温馨提示', "保存成功");
                        //4.2关闭当前的输入对话框
                        dictionarydetail_dialog.dialog("close");
                        //4.3属性datagrid的数据, 重新刷新页面的数据
                        dictionarydetail_datagrid.datagrid("reload");
                    }
                }

            })
        },
        removetail: function () {
            //获取当前选中行
            var row = dictionarydetail_datagrid.datagrid('getSelected');
            //获取选中行的id
            var url = "/dictionarydetail/delete?id=" + row.id;

            $.get(url,function(data){
                if (!data.succeed) {
                    $.messager.alert('温馨提示', data.errorMsg);
                } else {
                    //4.操作成功
                    //4.1提示用户操作成功
                    $.messager.alert('温馨提示', "删除成功");
                    //4.3属性datagrid的数据, 重新刷新页面的数据
                    dictionarydetail_datagrid.datagrid("reload");
                }
            })

        },
        //关闭对话框
        canceltail: function () {
            dictionarydetail_dialog.dialog("close");
        }

    }

    //调用
    $("a[data-cmd]").click(function () {
        var cmd = $(this).data("cmd");
        cmdObj[cmd]();
    })
})












